package cn.iocoder.yudao.module.vos.controller.app.edcr.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;

/**
 * Retrospective CDR query request
 */
@Data
public class CdrRetroReqVO {

    @Schema(description = "查询号码（支持带国家码/分隔符，会统一做清洗）", required = true, example = "+63 912-345-6789")
    @NotBlank(message = "Number must not be blank")
    private String number;

    @Schema(description = "截止日期（yyyy-MM-dd），窗口为 [截止日期-（days-1）天, 截止日期]，含端点", required = true, example = "2025-08-01")
    @NotBlank(message = "Cutoff date must not be blank")
    private String cutoffDate;

    @Schema(description = "回溯周期天数（1-365，可选；默认 365）", example = "30")
    @Min(value = 1, message = "Lookback period must be at least 1 day")
    @Max(value = 365, message = "Lookback period must be at most 365 days")
    private Integer cycleDays;
}
